Search engines have a variety of assistance tools to help a user to find relevant information. Under a typical approach, a user types a query. After the query is submitted, a response page comes back. Sometimes, an assistance tool may detect a possible mistake in the query that was submitted, for example, a word is misspelled, or a less popular search term is entered rather than a more popular search term, etc. The response page, in that situation, may inform the user that a mistake may have been made and present suggestions to the user. The user may in turn look at the response and the information therein and choose to leave the input as is, change it by hand, or select one of the suggestions presented by the assistance tool as a next query. In short, under this approach, a user must first submit a query containing a mistake, and will then and only then obtain information to correct the mistake.
Under a different approach, the user may receive frequent suggestions at an annoying rate before a query is submitted. As the user types, an assistance tool provides suggestions regardless of whether the user needs them or not. For example, the user may click an input text box and initially type in a letter “a”. The user then is shown a set of all possible search terms relating to “a” (in a drop down box of a user interface that is interacting with the user, for example). The user may type in a couple of more letters in the input text box. Another set of possible search terms relating to what have just been typed in is shown to the user.
Both of these existing approaches discussed above have problems. In the first instance, a user has to first submit a query that contains a mistake and then gets help information. The user is thus hindered from quickly obtaining relevant information because of the round-trip delay (this may happen, for example, if the search engine is busy or if the user waits a while to submit what has been typed). There is also a degree of distress and cognitive inefficiency as the user is forced to think about what to type in and knowingly submits a query that is less than ideal.
In the second instance, a user gets suggestions whether the user needs suggestions or not. But, oftentimes, suggestions may not be necessary because, for example, the user may know exactly what has to be typed in. Instead of being helped, the user may be distracted by constant appearances of unnecessary suggestions. Equally important, system resources including network bandwidth are needlessly wasted in this approach.
Thus, a need exists for improved ways of determining a time to display help information to a client.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.